The security of computing resources and associated data is of high importance in many contexts. As an example, organizations often utilize networks of computing devices to provide a robust set of services to their users. Networks often span multiple geographic boundaries and often connect with other networks. An organization, for example, may support its operations using both internal networks of computing resources and computing resources managed by others. Computers of the organization, for instance, may communicate with computers of other organizations to access and/or provide data while using services of another organization. In many instances, organizations configure and operate remote networks using hardware managed by other organizations, thereby reducing infrastructure costs and achieving other advantages. With such configurations of computing resources, ensuring that access to the resources and the security of the data they hold can be challenging, especially as the size and complexity of such configurations grow.
Many techniques have been developed to enhance data security. For example, Transport Layer Security (TLS) and other protocols allow secure communications over a network between computer systems using symmetric cryptographic keys. Such protocols, however, are often implemented as a feature additional to other techniques for maintaining data security. As a result, multiple inefficiencies are introduced. For example, in many contexts, the primary goal of a transfer of data is to store data in encrypted form. Use of TLS and other secure communications protocols typically require data to be encrypted for transit over a network, decrypted upon receipt, and reencrypted for storage.